"dil"dynamics interactive lamp
Featuring to "dl" dancing lamp
Initially i named my final project "dil", dynamic interactive lamp, but is simply a dancing lamp, this is a lamp that moving with three servos in three different axis, all this using as imput the music data.
Initial shape
The design shape it was taken of the pattern texture of the previous assignments, also using and drawing digital models for the 3d printer machine "mechanical parts" and the laser cut machine "top shell", all the elements modeling in Rhinoceros software and his plugin grasshopper.
Development of the mechanical parts in the 3d printer machine
First i modeled the servo motor, for the dimension and necessary tolerance, for the object construccion of the mechanical part of the lamp, all this fabricated in the 3dprinter 3d Touch of the 3d System company.
Development of the shell shape (with the process in the laser cutter machine)
For this process i decided modeling the "top sell" in the rhinoceros plugin grasshopper, because i needed a dynamic and variable model, also for obtain a model that i can modify quickly. all this because i designed the completed piece and the joints system between parts.
Fabrication process of the base
For the wood base fabrications process, i generated the cut vector to send to the Shopbot machine, first thinking in the material Triplex of 18mm, this for testing the effective pattern, for the optimal bend in the possible final model. all this taking the texture pattern developed in Grasshopper complement.
Tools process for the Shopbot machine
In this point i configured the cuts process to send to the shopbot machine, that in generally was as feed rate= 2.5inch/sec, plug rate=1 inch/sec and cut engraving=2.7mm-3mm, having into account the material, and the waste remnant available in the Fablab.
Base parts & bend test
This is the result of the testing, where the first test was very flexible.
Circuit & test code
I developed a little circuit for testing the mechanical parts and the two servo motors movement, only in the axis A and B of the Slide to presentation, with the following component list.
- Servo code
int motor1 = 7; //Pin 6 in attyni44 int motor2 = 8; //Pin 5 in attiny44 int i = 0; int pwm1 = 0; int pwm2 = 0; int analogMotor1 = 0; int analogMotor2 = 0; boolean reverse1 = false; boolean reverse2 = false; void setup() pinMode(motor1, OUTPUT); pinMode(motor2, OUTPUT); } void loop() { if (reverse1 == false) { pwm1++; analogMotor1 = (int) ((1023.*pwm1) / 255.); analogWrite(motor1, analogMotor1); if (pwm1 == 255) { reverse1 = true; } } else { pwm1--; analogWrite(pwm1, motor1); if (pwm1 == 0) { reverse1 = false; } } delay(2); if (reverse2 == false) { pwm2++; analogMotor2 = (int) ((1023.*pwm2) / 255.); analogWrite(motor2, analogMotor2); if (pwm2 == 255) { reverse2 = true; } } else { pwm2--; analogWrite(pwm2, motor2); if (pwm2 == 0) { reverse2 = false; } delay(2); } delay(2); }
Bend test with the 3D printer parts
Once produced the base and mechanical 3d printer parts, I tested the behavior of the composition of the manufactured elements.
Movement "dancing" test.01
In this part, i tested the movement with the small program in the manufactured board, that controls two servo motors each one in a independent cycle.
Final LED-RGB circuit
I developed the LED circuit for the dancing lamp final prototype v.01, this board works in generally by providing data in the four inputs of the LED, but I change the possible connections , for generate differents colors, all this with the next component list.
After of test the previous circuit , i could see an error in the board, the circuit has many resistances and the LED illuminate very few, because i confused in the 220 ohm resistance with the 220k resistance, for this I changed of the series resistances "3 of the 100k and 2 of 10k" only for an 1k resistence by LED., now the component list is this:
int R = 9; //pin 3 in attiny44 int G = 8; //pin 5 in attiny44 int B = 7; //pin 6 in attiny44 int jack = 2; //pin 11 in attiny44 void setup() { pinMode(R, OUTPUT); pinMode(G, OUTPUT); pinMode(B, OUTPUT); pinMode(jack, INPUT); } void loop() { int plug = analogRead(jack); plug = map(plug, 0, 1023, 0, 1023); if (plug > 0) { analogWrite(R, plug); analogWrite(G, plug); analogWrite(B, plug); //digitalWrite(R, HIGH); } if (plug > 0) { analogWrite(R, plug); analogWrite(G, plug); analogWrite(B, plug); //digitalWrite(G, HIGH); } if (plug > 0) { analogWrite(R, plug); analogWrite(G, plug); analogWrite(B, plug); //digitalWrite(B, HIGH); } delay(1); }
Final servo01 circuit
The second final circuit that i developed was the servo motors board, in this I used some aspects and components of the previous test circuit of the servo motors. buy in this case i used a superior bridge for the connection, because i needed clean the other face of the board. the circuit contain the next component list.
int motor1 = 7; //Pin 6 in attyni44 int motor2 = 8; //Pin 5 in attiny44 int jack = 2; //Pin 11 in attiny44 void setup() { pinMode(motor1, OUTPUT); pinMode(motor2, OUTPUT); pinMode(jack, INPUT); } void loop() { int plug = analogRead(jack); plug = map(plug, 0, 1023, 0, 255); if (plug > 0 & plug < 21) { analogWrite(motor2, plug); } if (plug > 21 & plug < 42) { analogWrite(motor1, plug); } delay(1); }
Final servo02 circuit
As the previous servo motor circuit only work for two servos, i fabricated other similar board but in this case only for the control of one servo motor, with the next component list.
int motor1 = 7; //Pin 6 in attyni44 int jack = 2; //Pin 11 in attiny44 void setup() { pinMode(motor1, OUTPUT); pinMode(jack, INPUT); } void loop() { int plug = analogRead(jack); plug = map(plug, 0, 1023, 0, 255); if (plug > 0 & plug < 21) { analogWrite(motor1, plug); } delay(1); }
Regulator & Jack "Plug" circuit
I wanted to control the power and input audio of my project in an board, this by a plug or "Jack " in the case of the audio connection, and in the case of the power by a charger of 5v.
Input data device "plug"
In this image I show how are the plug "jack" connections, also the used schematic guide for the welding process.
Top shell test
I decided to two shells tests, for the see how work the joint system proposal, and the correct configuration between faces, for the efficient composition of the element.
Shape #1
This is the first approximations of the formal composition for the element, with almost all the parts (in this example missing the boards), I worked with a paper type named "Bindakote Silver".
Shape #2
I chose this shape because is more bigger and also for i worked with other paper type, that illuminate much better than the previous example, in this case i used the paper type named "Twist White".
Final shape - "dancing lamp 0.1 beta version"
Movement "dancing" tes.02
Light test.03 "illumination dancing"
Movement "dancing" v.01
Movement "dancing" v.02
I will develop a device named "dil" (dynamic interactive lamp), why dynamic? - because will have movement and variations in the light mode (colors and sequences), why interactive? - because I plan to use the music (.mp3 file) for the movement and generations, and why lamp? - because finally i will materialize and develop the device in a small object that allow me work all the parts and components in an developable effective scale.
Formally i think that many people or enterprise have thought and done things for the generation of light and motion with music, but I'd rather base my work in the informal experiment with cheap and accessible devices, and in this line I found the followings referents:
According with my final project idea, I need the next material list:
My project is divided in two materials type, the first all the electronic parts that are achieved locally and also in place inventory FabLab, and second all the parties that make up the shape, that all these are locally, then with the previous my item list is thus:
Around $165 USD - SpreadSheet cost
I think produce all the pieces and parts of my element, the really complicated for my are the electronic production and programing because i haven't much experience working in this process, but finally I was able to develop all the parts and system of my final project, the first elements that I make are the 3d printer parts for the mechanical servo motor system, then I designed and fabricated all the plywood piece (the base and the flexible structure), to continue i designed and laser cutting the top shell pieces, and as last step I make the circuit boards in the "Model A" machine, that in my case was three boards, then proceeded with the components welding process and finally with the circuit programming processes and the codes testing.
For my final project develop I use the next process or assignment works:
Ok, all the tasks is completely necessary have them completed, but in the worst case i suppose that the priority for me is the electronics and programming, for my experience in the other machine and software process, but already made the object, I think that i can improve my project in five important parts, the first the wires organizations, second the circuit boards placing, third the base wood thickness "could be smaller", fourth the union between the mechanical system and the top shell, and fifth obviously the code, because i think that here is the more important and more potential part of my project, and I think I achieved just a 5% or 10% of the possible development.
Oh God..!!! in this point for me is urgently need to know more about the networking and serial communications between my devices, because i work with music in the digital formats (.mp3, .mp3, .wav etc) and i can improve the send data process to my boards.
I developed two calendars, the first in the week 1 (the top image), and the second in the week 10, this focus in the final project production, but really the calendar that i applied was as follows:
I hope that the the criterion of the use of as many of assignments used and understanding of the processes involved, with this i think that the best evaluation criteria would be mainly three: